﻿// <kernel for logging mobile worker.>
//     Copyright (C) 2013  APKO
// 
//     This program is free software: you can redistribute it and/or modify
//     it under the terms of the GNU General Public License as published by
//     the Free Software Foundation, either version 3 of the License, or
//     (at your option) any later version.
// 
//     This program is distributed in the hope that it will be useful,
//     but WITHOUT ANY WARRANTY; without even the implied warranty of
//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//     GNU General Public License for more details.
// 
//     You should have received a copy of the GNU General Public License
//     along with this program.  If not, see <http://www.gnu.org/licenses/>.

using System.ComponentModel;

namespace kernel.gui.controllers {
    internal class TestDataModel : INotifyPropertyChanged {
        #region Public Properties

        private double _testDataDouble;
        private int _testDataInt;
        private string _testDataNoNumeric = "";

        public int TestDataInt {
            get { return this._testDataInt; }
            set {
                if (this._testDataInt == value) {
                    return;
                }
                this._testDataInt = value;
                this.RaisePropertyChanged("TestDataInt");
            }
        }

        public double TestDataDouble {
            get { return this._testDataDouble; }
            set {
                if (this._testDataDouble == value) {
                    return;
                }
                this._testDataDouble = value;
                this.RaisePropertyChanged("TestDataDouble");
            }
        }

        public string TestDataNoNumeric {
            get { return this._testDataNoNumeric; }
            set {
                if (this._testDataNoNumeric == value) {
                    return;
                }
                this._testDataNoNumeric = value;
                this.RaisePropertyChanged("TestDataNoNumeric");
            }
        }

        #endregion

        #region PropertyChanged

        public event PropertyChangedEventHandler PropertyChanged;

        private void RaisePropertyChanged(string propertyName) {
            if (null != this.PropertyChanged) {
                this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        #endregion
    }
}